package com.iris.live.services.data.models;

import com.fasterxml.jackson.annotation.JsonProperty;

import javax.persistence.*;
import java.sql.Timestamp;

/**
 * Created by xin on 2016/7/13.
 */
@SuppressWarnings("JpaDataSourceORMInspection")
@Entity
@Table(name = "报价客户表", schema = "sg_lsh", catalog = "")
public class 报价客户表Model {
    private Integer 编号;
    private String 名称;
    private String 电话;
    private String 身份证;
    private String 省份;
    private String 城市;
    private String 区域;
    private String 详细地址;
    private Timestamp 更新时间;
    private String 邮箱;
    private String 身份证类型;
    private String 邮编;
    private String 上牌类型;
    private String 上牌省份;
    private String 上牌城市;
    private String 更新账号;

    @Id
    @Column(name = "编号")
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @JsonProperty("编号")
    public Integer get编号() {
        return 编号;
    }

    public void set编号(Integer 编号) {
        this.编号 = 编号;
    }

    @Basic
    @Column(name = "名称")
    @JsonProperty("名称")
    public String get名称() {
        return 名称;
    }

    public void set名称(String 名称) {
        this.名称 = 名称;
    }

    @Basic
    @Column(name = "电话")
    @JsonProperty("电话")
    public String get电话() {
        return 电话;
    }

    public void set电话(String 电话) {
        this.电话 = 电话;
    }

    @Basic
    @Column(name = "身份证")
    @JsonProperty("身份证")
    public String get身份证() {
        return 身份证;
    }

    public void set身份证(String 身份证) {
        this.身份证 = 身份证;
    }

    @Basic
    @Column(name = "省份")
    @JsonProperty("省份")
    public String get省份() {
        return 省份;
    }

    public void set省份(String 省份) {
        this.省份 = 省份;
    }

    @Basic
    @Column(name = "城市")
    @JsonProperty("城市")
    public String get城市() {
        return 城市;
    }

    public void set城市(String 城市) {
        this.城市 = 城市;
    }

    @Basic
    @Column(name = "区域")
    @JsonProperty("区域")
    public String get区域() {
        return 区域;
    }

    public void set区域(String 区域) {
        this.区域 = 区域;
    }

    @Basic
    @Column(name = "详细地址")
    @JsonProperty("详细地址")
    public String get详细地址() {
        return 详细地址;
    }

    public void set详细地址(String 详细地址) {
        this.详细地址 = 详细地址;
    }

    @Basic
    @Column(name = "更新时间")
    @JsonProperty("更新时间")
    public Timestamp get更新时间() {
        return 更新时间;
    }

    public void set更新时间(Timestamp 更新时间) {
        this.更新时间 = 更新时间;
    }

    @PrePersist
    @PreUpdate
    public void onPreUpdate() {
        this.set更新时间(new Timestamp(System.currentTimeMillis()));
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        报价客户表Model that = (报价客户表Model) o;

        if (编号 != null ? !编号.equals(that.编号) : that.编号 != null) return false;
        if (名称 != null ? !名称.equals(that.名称) : that.名称 != null) return false;
        if (电话 != null ? !电话.equals(that.电话) : that.电话 != null) return false;
        if (身份证 != null ? !身份证.equals(that.身份证) : that.身份证 != null) return false;
        if (省份 != null ? !省份.equals(that.省份) : that.省份 != null) return false;
        if (城市 != null ? !城市.equals(that.城市) : that.城市 != null) return false;
        if (区域 != null ? !区域.equals(that.区域) : that.区域 != null) return false;
        if (详细地址 != null ? !详细地址.equals(that.详细地址) : that.详细地址 != null) return false;
        if (更新时间 != null ? !更新时间.equals(that.更新时间) : that.更新时间 != null) return false;

        return true;
    }

    @Override
    public int hashCode() {
        int result = (编号 != null ? 编号.hashCode() : 0);
        result = 31 * result + (名称 != null ? 名称.hashCode() : 0);
        result = 31 * result + (电话 != null ? 电话.hashCode() : 0);
        result = 31 * result + (身份证 != null ? 身份证.hashCode() : 0);
        result = 31 * result + (省份 != null ? 省份.hashCode() : 0);
        result = 31 * result + (城市 != null ? 城市.hashCode() : 0);
        result = 31 * result + (区域 != null ? 区域.hashCode() : 0);
        result = 31 * result + (详细地址 != null ? 详细地址.hashCode() : 0);
        result = 31 * result + (更新时间 != null ? 更新时间.hashCode() : 0);
        return result;
    }

    @Basic
    @Column(name = "邮箱")
    public String get邮箱() {
        return 邮箱;
    }

    public void set邮箱(String 邮箱) {
        this.邮箱 = 邮箱;
    }

    @Basic
    @Column(name = "身份证类型")
    public String get身份证类型() {
        return 身份证类型;
    }

    public void set身份证类型(String 身份证类型) {
        this.身份证类型 = 身份证类型;
    }

    @Basic
    @Column(name = "邮编")
    public String get邮编() {
        return 邮编;
    }

    public void set邮编(String 邮编) {
        this.邮编 = 邮编;
    }

    @Basic
    @Column(name = "上牌类型")
    public String get上牌类型() {
        return 上牌类型;
    }

    public void set上牌类型(String 上牌类型) {
        this.上牌类型 = 上牌类型;
    }

    @Basic
    @Column(name = "上牌省份")
    public String get上牌省份() {
        return 上牌省份;
    }

    public void set上牌省份(String 上牌省份) {
        this.上牌省份 = 上牌省份;
    }

    @Basic
    @Column(name = "上牌城市")
    public String get上牌城市() {
        return 上牌城市;
    }

    public void set上牌城市(String 上牌城市) {
        this.上牌城市 = 上牌城市;
    }

    @Basic
    @Column(name = "更新账号")
    public String get更新账号() {
        return 更新账号;
    }

    public void set更新账号(String 更新账号) {
        this.更新账号 = 更新账号;
    }
}
